<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <link rel="stylesheet" href="../tools/bootstrap-3.3.7-dist/css/bootstrap.min.css">
  <link rel="stylesheet" href="../css/base.css">
  <link rel="stylesheet" href="../css/login.css">
  <style>
      .inputWidth{
        width: 200px;
        display: inline-block;
      }

      .spanspan{
        color:red;
        font-size: 20px;
      }
      .cover{
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,.5);
      }
  </style>
</head>
<body>

    <div class="jumbotron">
      <h1>欢迎注册 BK2111 SHOP</h1>
      <div class="login">
        <div class="form-horizontal">
          <div class="form-group">
            <label for="username" class="col-sm-2 control-label">用户名</label>
            <div class="col-sm-10">
              <input type="text" name="name" class="form-control inputWidth"  placeholder="用户名">
              <span name="nameSpan" class="spanspan"></span>
            </div>
          </div>
          <div class="form-group">
            <label for="password"class="col-sm-2 control-label">密码</label>
            <div class="col-sm-10">
              <input type="password"  name="pwd1"  class="form-control inputWidth"  placeholder="密码">
              <span class="spanspan"></span>
            </div>
          </div>

          <div class="form-group">
            <label for="password" class="col-sm-2 control-label">确认密码</label>
            <div class="col-sm-10">
              <input type="password"  name="pwd2" class="form-control inputWidth"  placeholder="确认密码">
              <span class="spanspan"></span>
              
            </div>
          </div>

          <div class="form-group">
            <label for="password" class="col-sm-2 control-label">验证码</label>
            <div class="col-sm-10">
              <input type="text"  name="vc" class="form-control inputWidth" id="ac" placeholder="验证码"> <a id="sc"></a><br>
              <span class="spanspan"></span>
            </div>
          </div>

          <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
              <button class="btn btn-default">注册</button>
            </div>
          </div>
        </div>
      </div>
    </div>

    <div name="msg"></div>


    <script src="../tools/jquery.min.js"></script>
    <script src="../js/tools.js"></script>
    <script src="../js/ajax.js"></script>

    <script>
      // 1, 调用验证码函数写入验证码
      // 并且点击可以刷新
      $('#sc').html( getVC() ).click( function(){ $(this).html( getVC() ) } );

      // 2, 点击注册 发送请求 获取响应体结果
      $('button').click(function(){
        // 点击注册 触发 setPage函数
        // 使用 async 和 await 来执行异步请求
        setReg();
      })

      // 3, 用户名input 失去焦点时 发送请求 验证用户有没有重复
      $('[name="name"]').blur(function(){
        // 调用异步的ajax请求函数
        SelName();
      })


      async function SelName(){
        // 1, 获取 input标签属性值
        let name = $('[name="name"]').val();
        console.log(name);
 
        // 2, 发送请求
        let res = await myPromiseAjax( '../server/goods_select.php' , 'post' , {userName:name} , 'json');
        console.log( res );

        if( res.result === 1 ){
          // 用户名可用
          $('[name="nameSpan"]').html( '<span style="color:blue">用户名可以使用</span>' );
        }else{
          // 用户名重复
          $('[name="nameSpan"]').html( '<span style="color:red">用户名重复,不能使用</span>' );
        }

      } 



      // 定义 async 函数 配合 await 调用 封装的promise函数 执行异步程序 
      // 执行结果 是 响应体数据 根据响应体数据 执行需要的程序代码
      async function setReg(){
        // 1, 获取数据
        let name = $('[name="name"]').val();
        let pwd1 = $('[name="pwd1"]').val();
        let pwd2 = $('[name="pwd2"]').val();
        let vc = $('[name="vc"]').val();
        let sc = $('#sc').html();
        
        // 2, 验证数据

        // // 密码必须相同 不同不能执行之后的程序
        // if( pwd1 !== pwd2 ){
        //   window.alert('两次密码不同');
        //   // 密码错误 刷新验证码
        //   $('#sc').html( getVC() );
        //   return ; 
        // }

        // // 输入的验证码 和 显示的验证码必须相同 不同不能执行之后的西横须
        // if( vc.toLowerCase() !== sc.toLowerCase() ){
        //   window.alert('验证码错误');
        //   // 验证码错误 刷新验证码
        //   $('#sc').html( getVC() );
        //   return;
        // }

        // 向后端PHP程序发送请求
        let res = await myPromiseAjax( '../server/goods_reg.php' , 'post' , {userName: name , userPwd: pwd1 } , 'json');
        
        console.log(res);
        
        // 根据 响应体结果 定义 需要的程序
        if( res.result === 1 ){
          // 注册成功
          // 写入提示信息,5秒后跳转登录页 点击 跳转 首页
          $('[name="msg"]').html( '<span>恭喜您注册成功 5秒 后跳转登录页面</span><div><a href="./index.html">点击跳转首页面</a></div>' )

          let num = 5;

          let time = setInterval( function(){
            num--;

            $('[name="msg"]').html( `<span>恭喜您注册成功 ${num}秒 后跳转登录页面</span><div><a href="./index.html">点击跳转首页面</a></div>` );

            if(num === 1){
              window.location.href = 'https://goole.com';
              // 清除定时器
              clearInterval(time) ; 
            }

          } , 1000 )

        }else{
          // 注册失败
          window.alert('用户名重复,注册失败');
          // 刷新验证码
          $('#sc').html( getVC() );
        }
      }



    </script>


    <script>
      /*
        1,  生成验证码 
            点击 刷新验证码

        2,  用户名input 失去焦点
            (1) 获取数据
            (2) 向后端程序发送ajax请求
                请求地址  server\goods_select.php
                请求方式  post
                携带参数  1个参数 键名是 userName
                响应体数据  json字符串


        3,  点击注册
            (1) 获取数据
            (2) 添加验证判断
                如果验证失败 执行 return 终止之后程序的执行
            (3) 向后端程序发送ajax请求
                请求地址  server\goods_reg.php
                请求方式  post
                携带参数  2个参数 键名是 userName   userPwd
                响应体数据  json字符串
      
      */ 


    </script>
</body>
</html>
